Verifying observational robustness against a c11-style memory model

نویسندگان

چکیده

We study the problem of verifying robustness concurrent programs against a C11-style memory model that includes relaxed accesses and release/acquire fences, show this verification can be reduced to standard reachability under sequential consistency. further observe existing notions do not allow use speculative reads as in sequence lock mechanism, introduce novel "observational robustness" property fills gap. In turn, we how soundly check for observational robustness. have implemented our method applied it several challenging algorithms, demonstrating applicability approach. To best knowledge, is first programming language concurrency fences.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Program Logic for C11 Memory Fences

We describe a simple, but powerful, program logic for reasoning about C11 relaxed accesses used in conjunction with release and acquire memory fences. Our logic, called fenced separation logic (FSL), extends relaxed separation logic with special modalities for describing state that has to be protected by memory fences. Like its precursor, FSL allows ownership transfer over synchronizations and ...

متن کامل

Verifying Robustness of Event-Driven Asynchronous Programs Against Concurrency

We define a correctness criterion, called robustness against concurrency, for a class of event-driven asynchronous programs that are at the basis of modern UI frameworks in Android, iOS, and Javascript. A program is robust when all possible behaviors admitted by the program under arbitrary procedure and event interleavings are admitted even if asynchronous procedures (respectively, events) are ...

متن کامل

Verifying Sequential Consistency on Shared-Memory Multiprocessors by Model Checking

The memory model of a shared-memory multiprocessor is a contract between the designer and programmer of the multiprocessor. The sequential consistency memory model specifies a total order among the memory (read and write) events performed at each processor. A trace of a memory system satisfies sequential consistency if there exists a total order of all memory events in the trace that is both co...

متن کامل

Taming the complexities of the C11 and OpenCL memory models

We study how the C11 memory model can be simplified and how it can be extended. Our first contribution is to propose a mild strengthening of the model that enables the rules pertaining to sequentially-consistent (SC) operations to be significantly simplified. We eliminate one of the total orders that candidate executions must range over, leading to a model that is significantly faster to simula...

متن کامل

Verifying System Components with Memory

This paper presents the speciication of a generic class of components that have memory, the programmable-lter class. This class consists of components that process inputs one at a time and send a corresponding output derived from the current input and previous inputs. Systems in this class are secure not only if the security classiication of the outputs is at the same or higher level as the cor...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2021

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3434285